#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>

int main()
{
  printf("!!!!!!!!do not count me, pid: %d\n", getpid());
  pid_t id1 = fork();
  if(id1 == 0)
  {
    int cnt = 5;
    while(cnt--)
    {
      printf("new process###########, pid: %d\n", getpid());
    }
  }
  else 
  {
    pid_t id2 = (fork() && fork()) || fork();
    int cnt1 = 5;
    while(cnt1--)
    {
      printf("aaaaaaa process, pid: %d\n", getpid());
    }
    if(id2 == 0)
    {
      int cnt2 = 5;
      while(cnt2--)
      {
        printf("new process###########, pid: %d\n", getpid());
      }
    }
    else
    {
      pid_t id3 = fork();
      printf("aaaaaaa process, pid: %d\n", getpid());
      if(id3 == 0)
      {
        int cnt3 = 5;
        while(cnt3--)
        {
          printf("nnnnnnnew process<<<<<<<<<<, pid: %d\n", getpid());
        }
      }
      else
      {
        int cnt4 = 5;
        while(cnt4--)
        {
          printf("aaaaaaa process, pid: %d\n", getpid());
        }
      }
    }
  }
  return 0;
}
